1
00:00:01,160 --> 00:00:03,040
Vediamo ora le regole

2
00:00:03,040 --> 00:00:06,883
di come le parole chiave del disco vengono definite in azione.

3
00:00:08,770 --> 00:00:10,760
E cominciamo dando un'occhiata

4
00:00:10,760 --> 00:00:15,263
alle parole chiave del disco al di fuori di qualsiasi funzione.

5
00:00:16,150 --> 00:00:18,873
Quindi appena fuori qui, nell'ambito globale.

6
00:00:19,970 --> 00:00:22,900
E così otteniamo la parola chiave del disco

7
00:00:22,900 --> 00:00:26,820
nell'ambito globale è semplicemente l'oggetto finestra.

8
00:00:26,820 --> 00:00:30,420
Questo è l'oggetto globale che abbiamo appena visto prima.

9
00:00:30,420 --> 00:00:34,120
Ricorda, e ora facciamo lo stesso

10
00:00:34,120 --> 00:00:37,290
ma all'interno di una normale chiamata di funzione

11
00:00:39,420 --> 00:00:43,203
quindi useremo un vecchio amico chiamato H qui.

12
00:00:49,380 --> 00:00:54,300
Quindi diamo un'occhiata alla console, solo il solito risultato

13
00:00:56,200 --> 00:00:58,540
in modo che stiamo effettivamente facendo qualcosa qui.

14
00:00:58,540 --> 00:01:00,799
Ma allora quello che ci interessa veramente

15
00:01:00,799 --> 00:01:03,403
in sta dando un'occhiata a questa, questa parola chiave.

16
00:01:04,495 --> 00:01:07,033
Quindi chiamiamo ora questa funzione.

17
00:01:08,806 --> 00:01:10,300
E così

18
00:01:10,300 --> 00:01:11,133
vediamo.

19
00:01:11,980 --> 00:01:15,450
E ora il risultato di dare un'occhiata così

20
00:01:15,450 --> 00:01:19,670
durante la registrazione, la parola chiave del disco non è definita.

21
00:01:19,670 --> 00:01:20,750
Va bene.

22
00:01:20,750 --> 00:01:22,227
E quindi ciò che significa è questo

23
00:01:22,227 --> 00:01:25,370
l'intuizione è solo una funzione regolare.

24
00:01:25,370 --> 00:01:26,580
Chiama qui.

25
00:01:26,580 --> 00:01:30,000
La parola chiave del disco non sarà definita

26
00:01:30,000 --> 00:01:32,490
e questo perché siamo in modalità rigorosa.

27
00:01:32,490 --> 00:01:33,323
Ricordare

28
00:01:33,323 --> 00:01:37,260
che in modalità sciatta sarebbe anche l'oggetto globale.

29
00:01:37,260 --> 00:01:39,170
Quindi, in questo caso, l'oggetto window

30
00:01:39,170 --> 00:01:43,040
ma sai già che dovresti sempre usare la modalità rigorosa.

31
00:01:43,040 --> 00:01:45,520
E così in una normale chiamata di funzione

32
00:01:45,520 --> 00:01:49,060
in questo modo D questa tastiera punterà semplicemente

33
00:01:49,060 --> 00:01:53,520
a indefinito e con una chiamata di funzione regolare

34
00:01:53,520 --> 00:01:56,500
Intendo semplicemente un richiamo alla disfunzione

35
00:01:56,500 --> 00:02:00,280
senza che la funzione sia collegata ad alcun oggetto.

36
00:02:00,280 --> 00:02:02,460
Quindi senza avere un proprietario

37
00:02:02,460 --> 00:02:06,310
per così dire, ma ora vediamo cosa succede.

38
00:02:06,310 --> 00:02:09,433
Se questa funzione qui fosse una funzione freccia.

39
00:02:10,290 --> 00:02:11,743
Quindi copiamo semplicemente questo.

40
00:02:15,030 --> 00:02:16,932
Quindi l'ingranaggio H

41
00:02:16,932 --> 00:02:18,720
sia qui che qui

42
00:02:20,960 --> 00:02:21,793
freccia,

43
00:02:22,820 --> 00:02:25,170
e chiamiamolo con un valore diverso.

44
00:02:26,810 --> 00:02:29,650
E ora pensiamo alle regole che abbiamo imparato

45
00:02:29,650 --> 00:02:31,320
nell'ultimo video.

46
00:02:31,320 --> 00:02:33,930
Quindi quale pensi che sarà la parola chiave disco?

47
00:02:33,930 --> 00:02:36,470
se la disfunzione è una funzione freccia

48
00:02:36,470 --> 00:02:40,150
e in realtà dobbiamo ancora farlo.

49
00:02:40,150 --> 00:02:41,343
Quindi anno di nascita.

50
00:02:42,940 --> 00:02:46,150
E quindi ora è una funzione freccia legittima.

51
00:02:46,150 --> 00:02:48,340
E quindi ancora una volta, cosa ne pensi?

52
00:02:48,340 --> 00:02:51,010
che queste parole chiave saranno ora

53
00:02:51,010 --> 00:02:52,300
pensarci bene?

54
00:02:52,300 --> 00:02:54,750
E poi controlliamo

55
00:02:54,750 --> 00:02:55,730
e così

56
00:02:55,730 --> 00:02:57,960
è una finestra.

57
00:02:57,960 --> 00:03:00,860
Quindi forse è un po' strano

58
00:03:00,860 --> 00:03:01,970
giusto?

59
00:03:01,970 --> 00:03:03,290
Allora perché?

60
00:03:03,290 --> 00:03:05,550
Perché la parola chiave del disco non è definita

61
00:03:05,550 --> 00:03:08,440
in questa funzione, ma window in this

62
00:03:08,440 --> 00:03:11,280
funzione? Ebbene, è perché il

63
00:03:11,280 --> 00:03:15,380
la funzione freccia non ottiene la propria parola chiave del disco.

64
00:03:15,380 --> 00:03:19,650
Quindi invece la funzione freccia usa semplicemente il lessicale

65
00:03:19,650 --> 00:03:23,490
questa parola chiave, il che significa che utilizza la parola chiave disco

66
00:03:23,490 --> 00:03:27,030
della sua funzione principale o del suo ambito principale.

67
00:03:27,030 --> 00:03:28,580
Per così dire

68
00:03:28,580 --> 00:03:32,020
e in questo caso qual è il lessicale, questa parola chiave?

69
00:03:32,020 --> 00:03:35,480
Allora, quali sono le parole chiave del disco nell'ambito del genitore?

70
00:03:35,480 --> 00:03:36,890
di questa funzione?

71
00:03:36,890 --> 00:03:40,462
Bene, è finestra perché finestra è la parola chiave del disco qui

72
00:03:40,462 --> 00:03:42,330
nell'ambito globale.

73
00:03:42,330 --> 00:03:43,883
Quindi proprio qui.

74
00:03:44,760 --> 00:03:48,390
Va bene. Ecco perché ho iniziato mostrandoti questo qui.

75
00:03:48,390 --> 00:03:52,720
Quindi in questo caso, this, questa parola chiave qui indicherà semplicemente

76
00:03:52,720 --> 00:03:55,900
alla parola chiave disco nell'ambito globale.

77
00:03:55,900 --> 00:03:57,620
E quindi quindi indicherà

78
00:03:57,620 --> 00:04:00,833
a window e come qui in questa normale funzione

79
00:04:00,833 --> 00:04:04,710
che in realtà ottiene le proprie parole chiave del disco

80
00:04:04,710 --> 00:04:06,380
è semplicemente altrettanto indefinito qui

81
00:04:06,380 --> 00:04:10,070
ma è proprio questa parola chiave mentre questa qui

82
00:04:10,070 --> 00:04:13,660
nella funzione freccia in realtà non ci sono le parole chiave del disco

83
00:04:13,660 --> 00:04:15,700
di questa funzione qui.

84
00:04:15,700 --> 00:04:19,310
Va bene. È semplicemente la parola chiave del disco dell'ambito principale.

85
00:04:19,310 --> 00:04:21,770
E questo sembra essere l'oggetto finestra.

86
00:04:21,770 --> 00:04:23,310
In questo caso,

87
00:04:23,310 --> 00:04:24,240
nel prossimo video

88
00:04:24,240 --> 00:04:28,100
vedremo alcune ulteriori implicazioni del fatto nel mondo reale

89
00:04:28,100 --> 00:04:31,939
che la funzione freccia non ottiene la propria parola chiave del disco.

90
00:04:31,939 --> 00:04:33,400
Ora, il prossimo passo

91
00:04:33,400 --> 00:04:36,893
proviamo a utilizzare la parola chiave disc all'interno di un metodo.

92
00:04:37,770 --> 00:04:41,727
Quindi creiamo rapidamente un oggetto Jonas qui

93
00:04:42,836 --> 00:04:45,269
con un anno di nascita,

94
00:04:45,269 --> 00:04:47,510
1991,

95
00:04:47,510 --> 00:04:50,180
e poi ancora, o metodo caulk H.

96
00:04:50,180 --> 00:04:51,110
E quindi ricorda

97
00:04:51,110 --> 00:04:53,379
che questa è fondamentalmente ora un'espressione di funzione

98
00:04:53,379 --> 00:04:55,003
che dobbiamo scrivere qui.

99
00:04:57,590 --> 00:05:00,000
Ora blocchiamo qui la parola chiave del disco

100
00:05:01,000 --> 00:05:02,643
e poi

101
00:05:02,643 --> 00:05:05,530
chiamiamo in realtà la funzione caulk H

102
00:05:06,530 --> 00:05:10,860
per ora, solo per vedere come apparirà questa parola chiave.

103
00:05:10,860 --> 00:05:11,700
E la mia speranza è

104
00:05:11,700 --> 00:05:15,670
che puoi già indovinare come dovrebbe essere.

105
00:05:15,670 --> 00:05:18,860
Quindi salviamolo per vedere il risultato.

106
00:05:18,860 --> 00:05:22,910
E in effetti è l'oggetto di T. Jonah.

107
00:05:22,910 --> 00:05:26,950
Quindi esattamente questo oggetto con l'età e l'anno del mastice.

108
00:05:26,950 --> 00:05:30,100
E quindi significa che è esattamente questo oggetto.

109
00:05:30,100 --> 00:05:32,550
Ed è proprio la regola che ti ho detto

110
00:05:32,550 --> 00:05:34,300
nella lezione precedente.

111
00:05:34,300 --> 00:05:37,930
Quindi, quando abbiamo una chiamata di metodo, l'analisi delle parole chiave del disco

112
00:05:37,930 --> 00:05:41,717
del metodo sarà l'oggetto che sta chiamando il metodo.

113
00:05:41,717 --> 00:05:44,980
E in questo caso si tratta dell'oggetto Jonas.

114
00:05:44,980 --> 00:05:49,510
Quindi Jonas qui è fondamentalmente il proprietario del metodo.

115
00:05:49,510 --> 00:05:50,450
Questo è un altro modo

116
00:05:50,450 --> 00:05:55,450
di dirlo e quindi, l'intuizione dell'ingranaggio H è Jonas.

117
00:05:58,220 --> 00:05:59,350
E poi possiamo usarlo

118
00:05:59,350 --> 00:06:02,684
a nostro vantaggio, calcolare qui l'età

119
00:06:02,684 --> 00:06:07,270
in base ai dati già presenti in questo oggetto.

120
00:06:07,270 --> 00:06:08,360
E quindi questo è uno

121
00:06:08,360 --> 00:06:11,867
dei grandi casi d'uso per la parola chiave disco, giusto?

122
00:06:14,800 --> 00:06:18,210
Perché in questo modo non dovremo trasferire nuovamente questi dati qui.

123
00:06:18,210 --> 00:06:20,510
Quindi invece di doverlo fare di nuovo

124
00:06:20,510 --> 00:06:23,520
possiamo semplicemente usare l'anno di nascita che è già

125
00:06:23,520 --> 00:06:25,300
nell'oggetto stesso.

126
00:06:25,300 --> 00:06:29,980
E quindi possiamo usare il premio del disco per fare riferimento a quell'oggetto.

127
00:06:29,980 --> 00:06:34,813
E quindi questo ora dovrebbe darci, o un valore normale qui, di 46.

128
00:06:35,980 --> 00:06:39,360
Ottimo. Quindi è roba piuttosto importante.

129
00:06:39,360 --> 00:06:40,193
E ora muoviamoci

130
00:06:40,193 --> 00:06:44,890
passiamo solo a un ultimo esempio qui in questa conferenza.

131
00:06:44,890 --> 00:06:48,630
Quindi continuo a dire che la parola chiave disco punterà

132
00:06:48,630 --> 00:06:52,450
all'oggetto che sta chiamando il metodo, giusto?

133
00:06:52,450 --> 00:06:55,679
Ciò significa che la parola chiave disco non punterà semplicemente

134
00:06:55,679 --> 00:06:59,730
nell'oggetto in cui abbiamo scritto il metodo.

135
00:06:59,730 --> 00:07:03,270
Quindi qui abbiamo scritto il metodo caulk H all'interno

136
00:07:03,270 --> 00:07:05,650
dell'oggetto Jonas.

137
00:07:05,650 --> 00:07:07,200
E così potremmo pensare

138
00:07:07,200 --> 00:07:10,500
quel debito è il motivo per cui la parola chiave del disco punta

139
00:07:10,500 --> 00:07:13,360
a Jonas, ma non è vero.

140
00:07:13,360 --> 00:07:15,900
Il motivo per cui la parola chiave del disco punterà

141
00:07:15,900 --> 00:07:18,020
per Jonas in questo caso lo è

142
00:07:18,020 --> 00:07:22,060
perché quello di Jonah era l'oggetto che chiamava il metodo del debito

143
00:07:22,060 --> 00:07:25,430
e questa è una differenza sottile, ma molto importante.

144
00:07:25,430 --> 00:07:27,613
E fammi sapere, mostrati perché è così.

145
00:07:30,450 --> 00:07:32,760
Quindi creiamo un nuovo oggetto

146
00:07:32,760 --> 00:07:34,410
che chiamerò Matilda

147
00:07:36,540 --> 00:07:38,640
e creiamo un nome.

148
00:07:38,640 --> 00:07:40,100
In realtà lo siamo, non abbiamo bisogno di un nome.

149
00:07:40,100 --> 00:07:41,650
Diciamo solo, anno

150
00:07:42,810 --> 00:07:44,560
2017.

151
00:07:44,560 --> 00:07:45,393
E questo è tutto.

152
00:07:45,393 --> 00:07:48,180
Questo è tutto ciò di cui abbiamo bisogno in questo oggetto.

153
00:07:48,180 --> 00:07:51,800
Ora, ricorda che una funzione è solo un valore

154
00:07:51,800 --> 00:07:52,840
giusto?

155
00:07:52,840 --> 00:07:55,830
E quindi possiamo farlo.

156
00:07:55,830 --> 00:08:00,830
Possiamo dire che Matilda pensava che il caulk otto dovesse essere uguale

157
00:08:01,300 --> 00:08:03,820
a Jonas che sigilla H

158
00:08:05,230 --> 00:08:06,155
quindi sostanzialmente qui

159
00:08:06,155 --> 00:08:11,155
copiamo semplicemente il metodo caulk H da Jonah's a Matilda.

160
00:08:11,560 --> 00:08:14,380
Ma ora diamo un'occhiata a Matilda qui

161
00:08:16,120 --> 00:08:19,423
poi vediamo che anche la funzione caulk H è qui.

162
00:08:21,440 --> 00:08:22,273
Bene.

163
00:08:23,220 --> 00:08:24,700
E ovviamente lo è ancora anche

164
00:08:24,700 --> 00:08:28,420
in Jonah, ma ora lo abbiamo copiato da un oggetto

165
00:08:28,420 --> 00:08:29,920
all'altro,

166
00:08:29,920 --> 00:08:32,170
e questo è chiamato prestito metodologico.

167
00:08:32,170 --> 00:08:35,240
Quindi abbiamo sostanzialmente preso in prestito qui il metodo

168
00:08:35,240 --> 00:08:37,530
da un oggetto all'altro.

169
00:08:37,530 --> 00:08:41,220
E quindi non dobbiamo scriverlo in modo duplicato.

170
00:08:41,220 --> 00:08:46,200
Quindi ora diciamo Matilda dot caulk H

171
00:08:46,200 --> 00:08:48,000
e cosa ne pensi?

172
00:08:48,000 --> 00:08:51,200
la parola chiave del disco sarà simile adesso?

173
00:08:51,200 --> 00:08:52,430
E liberiamocene di alcuni

174
00:08:52,430 --> 00:08:53,766
di questi

175
00:08:53,766 --> 00:08:55,073
prima,

176
00:08:55,940 --> 00:08:57,804
in modo che non si ingombrano

177
00:08:57,804 --> 00:08:59,423
o emettilo qui.

178
00:09:01,440 --> 00:09:03,400
E ovviamente puoi riprenderli

179
00:09:03,400 --> 00:09:05,450
se vuoi vederli con il tuo cappotto.

180
00:09:06,550 --> 00:09:08,030
Ma ora lasciami salvare questo

181
00:09:08,030 --> 00:09:11,253
e vedere quale sarà il risultato di questa era degli ingranaggi.

182
00:09:12,470 --> 00:09:13,390
Quindi

183
00:09:13,390 --> 00:09:17,710
l'età di Matilda ci ha dato il risultato corretto

184
00:09:17,710 --> 00:09:20,170
di 20, che è esattamente

185
00:09:20,170 --> 00:09:23,070
37 meno 27.

186
00:09:23,070 --> 00:09:25,440
E quindi questo significa che in questo metodo

187
00:09:25,440 --> 00:09:30,280
chiamare qui questa parola chiave in realtà non punta a Matilda.

188
00:09:30,280 --> 00:09:32,220
E lo possiamo vedere anche qui.

189
00:09:32,220 --> 00:09:34,830
Quindi ecco, poiché ci siamo bloccati su questa parola chiave

190
00:09:34,830 --> 00:09:37,280
vediamo che in realtà è l'oggetto Matilda

191
00:09:37,280 --> 00:09:39,041
a causa di questa nascita qui.

192
00:09:39,041 --> 00:09:41,005
E quindi questo dimostra esattamente quello che io

193
00:09:41,005 --> 00:09:43,110
te lo stavo giusto dicendo prima

194
00:09:43,110 --> 00:09:46,380
ovvero il fatto che la parola chiave disco punta sempre

195
00:09:46,380 --> 00:09:49,230
all'oggetto che sta chiamando il metodo.

196
00:09:49,230 --> 00:09:52,810
E quindi qui chiamiamo il metodo Matilda

197
00:09:52,810 --> 00:09:56,430
giusto? E quindi la parola chiave disco punterà

198
00:09:56,430 --> 00:10:00,870
a Matilda, che era l'oggetto, che chiamava il metodo.

199
00:10:00,870 --> 00:10:04,780
Quindi anche se il metodo è scritto qui dentro

200
00:10:04,780 --> 00:10:06,740
dell'oggetto Jonas

201
00:10:06,740 --> 00:10:09,830
la parola chiave del disco punterà comunque a Matilda.

202
00:10:09,830 --> 00:10:12,812
Se è Matilda, a chiamare il metodo.

203
00:10:12,812 --> 00:10:16,610
Va bene. E quindi è davvero importante capirlo.

204
00:10:16,610 --> 00:10:18,090
Ed è il motivo per cui l'ho detto

205
00:10:18,090 --> 00:10:22,320
nell'ultimo video che la parola chiave disco è davvero dinamica.

206
00:10:22,320 --> 00:10:23,700
Non è statico

207
00:10:23,700 --> 00:10:27,130
e dipende da come viene chiamata la funzione.

208
00:10:27,130 --> 00:10:29,460
E possiamo spingerci ancora oltre

209
00:10:29,460 --> 00:10:32,760
assumendo praticamente completamente la funzione

210
00:10:32,760 --> 00:10:35,032
fuori dall'oggetto Jonas.

211
00:10:35,032 --> 00:10:40,000
Quindi creiamo solo una variabile chiamata F per funzione

212
00:10:40,000 --> 00:10:45,000
e poi dire Jonas punto mastice H e non chiamarlo, ovviamente.

213
00:10:46,060 --> 00:10:49,340
Quindi ora vogliamo solo copiare la funzione

214
00:10:49,340 --> 00:10:51,820
in una nuova variabile.

215
00:10:51,820 --> 00:10:52,780
E così ancora una volta il debito

216
00:10:52,780 --> 00:10:56,370
possibile, perché una funzione è solo un valore.

217
00:10:56,370 --> 00:10:59,800
Quindi prendiamo questo valore qui e lo copiamo qui.

218
00:10:59,800 --> 00:11:01,910
E ovviamente, senza chiamarlo

219
00:11:01,910 --> 00:11:05,390
okay, proprio come qui, dove abbiamo copiato il metodo

220
00:11:05,390 --> 00:11:08,593
da un posto all'altro, ma non l'abbiamo chiamato.

221
00:11:10,470 --> 00:11:14,670
Quindi qui possiamo dare un'occhiata a F nella console.

222
00:11:14,670 --> 00:11:17,680
E così vedrai che in realtà è questa funzione

223
00:11:19,290 --> 00:11:22,070
ma ora quali implicazioni avrà tutto ciò

224
00:11:22,070 --> 00:11:24,000
per la parola chiave di oggi?

225
00:11:24,000 --> 00:11:28,510
Bene, proviamo a chiamare la funzione F

226
00:11:28,510 --> 00:11:32,280
che ricordiamo è il codice di Jonas dot cog H

227
00:11:32,280 --> 00:11:37,280
e quindi ora la parola chiave del disco dovrebbe essere indefinita.

228
00:11:37,760 --> 00:11:40,020
E quindi otteniamo anche questo errore

229
00:11:40,020 --> 00:11:43,200
che non può leggere l'anno indefinito.

230
00:11:43,200 --> 00:11:46,080
Quindi viene da qui perché

231
00:11:46,080 --> 00:11:47,790
la parola chiave del disco ora non è definita.

232
00:11:47,790 --> 00:11:52,790
E quindi l'anno indefinito, ovviamente, non esiste.

233
00:11:52,880 --> 00:11:55,330
Quindi questo accade perché questo F

234
00:11:55,330 --> 00:11:58,860
la funzione qui ora è solo una normale chiamata di funzione

235
00:11:58,860 --> 00:12:02,020
giusto? Non è attaccato a nessun oggetto.

236
00:12:02,020 --> 00:12:04,320
Non esiste alcun proprietario di questa funzione F

237
00:12:04,320 --> 00:12:06,640
più qui a questo punto.

238
00:12:06,640 --> 00:12:08,560
E quindi è solo un normale

239
00:12:08,560 --> 00:12:12,810
chiamata di funzione proprio come qui, per esempio.

240
00:12:12,810 --> 00:12:17,470
E quindi anche il premio del disco è indefinito

241
00:12:17,470 --> 00:12:21,610
proprio come di nuovo, qui in questa funzione

242
00:12:21,610 --> 00:12:23,960
che era anche una normale chiamata di funzione

243
00:12:23,960 --> 00:12:25,883
proprio come lo è ora la nostra funzione F.

244
00:12:27,640 --> 00:12:28,473
Va bene.

245
00:12:28,473 --> 00:12:31,080
Quindi, ancora una volta, questa è una sottile differenza

246
00:12:31,080 --> 00:12:33,860
nel nostro codice, ma fa la differenza

247
00:12:33,860 --> 00:12:36,410
nel risultato che otteniamo.

248
00:12:36,410 --> 00:12:37,508
E di sicuro

249
00:12:37,508 --> 00:12:41,990
la parola chiave disco è un argomento che confonde molti principianti

250
00:12:41,990 --> 00:12:45,190
in JavaScript, ma si spera che questa lezione

251
00:12:45,190 --> 00:12:48,515
e il precedente lo ha reso un po' più chiaro.

252
00:12:48,515 --> 00:12:51,940
Ora non abbiamo parlato delle funzioni del gestore eventi qui

253
00:12:51,940 --> 00:12:55,160
che vi ho mostrato anche nell'ultimo video.

254
00:12:55,160 --> 00:12:58,070
Quindi su una diapositiva lì, ma lo lascio

255
00:12:58,070 --> 00:13:01,840
per la sezione Dom avanzata dove torneremo

256
00:13:01,840 --> 00:13:04,260
a questo, ma per ora nel prossimo video

257
00:13:04,260 --> 00:13:06,820
dobbiamo dare uno sguardo ancora più attento

258
00:13:06,820 --> 00:13:09,883
alla funzione regolare rispetto alle funzioni freccia.


